home *** CD-ROM | disk | FTP | other *** search
- #include <proto/dos.h>
- #include <proto/lowlevel.h>
- #include <intuition/imageclass.h>
-
- #include "App.h"
-
- void myputch( void );
-
- static const char *centr[] = {
- "Port 1 (mouse)",
- "Port 2 (game)",
- NULL
- };
-
- unsigned long mAppOM_NEW( struct IClass *cl, Object *obj, struct opSet* msg )
- {
- unsigned long _ret;
- AppData *data, _tdata;
- data = &_tdata;
- memset( data, 0, sizeof( AppData ) );
- obj = (Object*)BCC_DoSuperNew( cl, obj,
-
- MUIA_Application_Author, "RafaĆ® Mantiuk",
- MUIA_Application_Base, "JOYTEST",
- MUIA_Application_Title, "JoyTest",
- MUIA_Application_Version, "$VER: JOYTEST 1.0 "__AMIGADATE__,
- MUIA_Application_Copyright, "Copyright (c)1997, RafaĆ® Mantiuk",
- MUIA_Application_Description, "Joystick test.",
- SubWindow, data->win = WindowObject,
- MUIA_Window_Title, "Joystick test v1.0",
- MUIA_Window_ID, MAKE_ID('M', 'A', 'I', 'N'),
- WindowContents, GroupObject,
- MUIA_Background, MUII_WindowBack,
- MUIA_Group_Horiz, TRUE,
- Child, GroupObject,
- Child, data->cycle = CycleObject,
- MUIA_Cycle_Entries, centr,
- MUIA_Cycle_Active, 1,
- MUIA_CycleChain, TRUE,
- MUIA_Background, MUII_TextBack,
- End,
- Child, data->inf = TextObject,
- MUIA_Background, MUII_TextBack,
- End,
- Child, HVSpace,
- Child, GroupObject,
- MUIA_Group_Columns, 3,
- Child, HVSpace,
- Child, data->up = ImageObject,
- MUIA_Image_Spec, "6:11",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, HVSpace,
- Child, data->left = ImageObject,
- MUIA_Image_Spec, "6:13",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, HGroup,
- Child, data->trig = ImageObject,
- MUIA_Image_Spec, "6:16",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- MUIA_ShortHelp, "First fire button",
- End,
- Child, data->strig = TextObject,
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Background, MUII_ButtonBack,
- MUIA_Text_Contents, "2nd",
- MUIA_ShortHelp, "Second fire button",
- End,
- End,
- Child, data->right = ImageObject,
- MUIA_Image_Spec, "6:14",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, HVSpace,
- Child, data->down = ImageObject,
- MUIA_Image_Spec, "6:12",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, HVSpace,
- End,
- Child, HVSpace,
- Child, data->dval = TextObject,
- MUIA_Background, MUII_TextBack,
- MUIA_Text_PreParse, "\33c",
- MUIA_ShortHelp, "Value returned by\nlowlevel.library/ReadJoyPort()",
- End,
- End,
- Child, BalanceObject,
- End,
- Child, GroupObject,
- MUIA_Group_Columns, 2,
- Child, data->lup = ImageObject,
- MUIA_Image_Spec, "6:11",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, data->EJGup = EJGObject,
- End,
- Child, data->ldown = ImageObject,
- MUIA_Image_Spec, "6:12",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, data->EJGdown = EJGObject,
- End,
- Child, data->lleft = ImageObject,
- MUIA_Image_Spec, "6:13",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, data->EJGleft = EJGObject,
- End,
- Child, data->lright =ImageObject,
- MUIA_Image_Spec, "6:14",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- End,
- Child, data->EJGright = EJGObject,
- End,
- Child, data->ltrig = ImageObject,
- MUIA_Image_Spec, "6:16",
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Image_FontMatch, TRUE,
- MUIA_Background, MUII_ButtonBack,
- MUIA_ShortHelp, "First fire button",
- End,
- Child, data->EJGtrig = EJGObject,
- End,
- Child, data->lstrig = TextObject,
- MUIA_Frame, MUIV_Frame_InputList,
- MUIA_Background, MUII_ButtonBack,
- MUIA_Text_Contents, "2nd",
- MUIA_ShortHelp, "Second fire button",
- End,
- Child, data->EJGstrig = EJGObject,
- End,
- End,
- End,
- End
- ,
- TAG_MORE, (unsigned long)msg->ops_AttrList,
- TAG_DONE );
- _ret = (unsigned long)obj;
- if( !obj ) return 0;
- data = INST_DATA( cl, obj );
- memcpy( data, &_tdata, sizeof( AppData ) );
- /* UC Beg */
-
-
- DoMethod( data->win,
- MUIM_Notify,MUIA_Window_CloseRequest,TRUE,
- obj,2,MUIM_Application_ReturnID,MUIV_Application_ReturnID_Quit);
-
- DoMethod( data->left,
- MUIM_Notify, MUIA_Image_State, MUIV_EveryTime,
- data->lleft, 3, MUIM_Set, MUIA_Image_State, MUIV_TriggerValue );
- DoMethod( data->right,
- MUIM_Notify, MUIA_Image_State, MUIV_EveryTime,
- data->lright, 3, MUIM_Set, MUIA_Image_State, MUIV_TriggerValue );
- DoMethod( data->up,
- MUIM_Notify, MUIA_Image_State, MUIV_EveryTime,
- data->lup, 3, MUIM_Set, MUIA_Image_State, MUIV_TriggerValue );
- DoMethod( data->down,
- MUIM_Notify, MUIA_Image_State, MUIV_EveryTime,
- data->ldown, 3, MUIM_Set, MUIA_Image_State, MUIV_TriggerValue );
- DoMethod( data->trig,
- MUIM_Notify, MUIA_Image_State, MUIV_EveryTime,
- data->ltrig, 3, MUIM_Set, MUIA_Image_State, MUIV_TriggerValue );
- DoMethod( data->strig,
- MUIM_Notify, MUIA_Selected, MUIV_EveryTime,
- data->lstrig, 3, MUIM_Set, MUIA_Selected, MUIV_TriggerValue );
-
- set( data->win, MUIA_Window_Open, TRUE );
-
-
- /* UC End */
- OM_NEW_exit:
- return _ret;
- }
-
-
- void aAppPortGet( struct IClass *cl, Object *obj, unsigned long *store )
- {
- AppData *data = INST_DATA( cl, obj );
- /* UC Beg */
-
- GetAttr( MUIA_Cycle_Active, data->cycle, store );
-
- /* UC End */
- }
-
-
- void aAppStateSet( struct IClass *cl, Object *obj, unsigned long val )
- {
- AppData *data = INST_DATA( cl, obj );
- /* UC Beg */
-
- ULONG v, x;
- STRPTR cont;
- v = val & JP_DIRECTION_MASK;
-
-
- if( val != data->lastval ) {
- RawDoFmt( "$%lx", (ULONG*)&val, myputch, data->txbuf );
- set( data->dval, MUIA_Text_Contents, data->txbuf );
- }
- data->lastval = val;
-
- switch( val & JP_TYPE_MASK ) {
- case JP_TYPE_JOYSTK:
- cont = "3Joystick detected";
- break;
- case JP_TYPE_MOUSE:
- cont = "Mouse detected";
- break;
- case JP_TYPE_GAMECTLR:
- cont = "Game controller detected";
- break;
- default:
- cont = "Unknown device";
- }
- if( data->lastcont != cont ) {
- set( data->inf, MUIA_Text_Contents, cont );
- }
- data->lastcont = cont;
-
-
- if( ( val & JP_TYPE_MASK ) == JP_TYPE_JOYSTK ) {
-
- if( v & JPF_JOY_UP ) {
- set( data->up, MUIA_Image_State, IDS_SELECTED );
- DoMethod( data->EJGup, MUIM_EJG_Anim, 1 );
- }
- else {
- set( data->up, MUIA_Image_State, IDS_NORMAL );
- DoMethod( data->EJGup, MUIM_EJG_Anim, 0 );
- }
- if( v & JPF_JOY_DOWN ) {
- set( data->down, MUIA_Image_State, IDS_SELECTED );
- DoMethod( data->EJGdown, MUIM_EJG_Anim, 1 );
- }
- else {
- set( data->down, MUIA_Image_State, IDS_NORMAL );
- DoMethod( data->EJGdown, MUIM_EJG_Anim, 0 );
- }
- if( v & JPF_JOY_LEFT ) {
- set( data->left, MUIA_Image_State, IDS_SELECTED );
- DoMethod( data->EJGleft, MUIM_EJG_Anim, 1 );
- }
- else {
- set( data->left, MUIA_Image_State, IDS_NORMAL );
- DoMethod( data->EJGleft, MUIM_EJG_Anim, 0 );
- }
- if( v & JPF_JOY_RIGHT ) {
- set( data->right, MUIA_Image_State, IDS_SELECTED );
- DoMethod( data->EJGright, MUIM_EJG_Anim, 1 );
- }
- else {
- set( data->right, MUIA_Image_State, IDS_NORMAL );
- DoMethod( data->EJGright, MUIM_EJG_Anim, 0 );
- }
-
- x = val & JPF_BUTTON_RED ? 1 : 0;
- set( data->trig, MUIA_Image_State, x ? IDS_SELECTED : IDS_NORMAL );
- DoMethod( data->EJGtrig, MUIM_EJG_Anim, x );
-
- x = val & JPF_BUTTON_BLUE ? 1 : 0;
- set( data->strig, MUIA_Selected, x );
- DoMethod( data->EJGstrig, MUIM_EJG_Anim, x );
-
-
- }
-
-
- /* UC End */
- }
-
-